Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Destiny3D.hpp

Go to the documentation of this file.
00001 ///////////////////////////////////////////////////////////////////////////////
00002 /// @file Destiny3D.hpp
00003 ///
00004 /// @brief Destiny3D Engine Library For Applications
00005 ///
00006 /// @author Hootie
00007 ///
00008 /// This file is the intellectual property of Novus Delta, LLC.. Usage of the
00009 /// contents of this file is subject to the Destiny3D Member License which
00010 /// can be found at http://www.destiny3d.com.  Any other usage is prohibited.
00011 ///
00012 /// This file is distributed "AS IS" without warranty of any kind.  Novus
00013 /// Delta, LLC. does not guarantee the fitness of the contents of this file
00014 /// for any particular purpose.
00015 ///
00016 /// Copyright (C) 2001-2003 Novus Delta, LLC. All Rights Reserved.
00017 ///
00018 /// <hr>
00019 ///                                 Change History
00020 /// <hr>
00021 ///
00022 /// @date Oct 2001
00023 /// @author Hootie
00024 /// @remarks Creation
00025 ///
00026 ///////////////////////////////////////////////////////////////////////////////
00027 
00028 #ifndef DESTINY3D_HPP
00029 #define DESTINY3D_HPP
00030 
00031 #if defined(DESTINY3D_DLL_EXPORTS) || defined(DESTINY3D_EXPORT_ALL)
00032 #   define DESTINY3D_API extern "C" DEDLL_EXPORT
00033 #elif defined(DESTINY3D_STATIC_LINK)
00034 #   define DESTINY3D_API extern "C"
00035 #else
00036 #   define DESTINY3D_API extern "C" DEDLL_IMPORT
00037 #endif
00038 
00039 #if !defined(DESTINY3D_EXPORT_ALL) && !defined(DESTINY3D_DLL_EXPORTS)
00040 #   if defined(USING_DESTINY3D_DLL)
00041 #       undef USING_DESTINY3D
00042 #       ifdef _DEBUG
00043 #           pragma comment(lib, "_Destiny3D_sdlld")
00044 #       else
00045 #           pragma comment(lib, "_Destiny3D_sdll")
00046 #       endif //_DEBUG
00047 #   elif defined(USING_DESTINY3D)
00048 #       ifdef _DEBUG
00049 #           ifdef DESTINY3D_STATIC_LINK
00050 #               pragma comment(lib, "_Destiny3D_sd")
00051 #           else
00052 #               pragma comment(lib, "_Destiny3Dd")
00053 #           endif //DESTINY3D_STATIC_LINK
00054 #       else
00055 #           ifdef DESTINY3D_STATIC_LINK
00056 #               pragma comment(lib, "_Destiny3D_s")
00057 #           else
00058 #               pragma comment(lib, "_Destiny3D")
00059 #           endif //DESTINY3D_STATIC_LINK
00060 #       endif //_DEBUG
00061 #   endif //USING_DESTINY3D
00062 #endif //!defined(DESTINY3D_EXPORT_ALL) && !defined(DESTINY3D_DLL_EXPORTS)
00063 
00064 //=================================================================================
00065 // Includes
00066 //=================================================================================
00067 
00068 #include "deGlobalTypes.hpp"
00069 #include "deDriver.hpp"
00070 #include "deThread.hpp"
00071 
00072 
00073 //=================================================================================
00074 // Function Prototypes
00075 //=================================================================================
00076 
00077 class IDestiny3DFactory;
00078 
00079 DESTINY3D_API deBoolean Destiny3D_Init(const char *AppName = NULL);
00080 DESTINY3D_API deBoolean Destiny3D_ShutDown(void);
00081 
00082 DESTINY3D_API IDestiny3DFactory* Destiny3D_GetFactory();
00083 
00084 class IdeResourceManager;
00085 class IdeSceneGraph;
00086 class Ide2DCollection;
00087 class IdeFont;
00088 class IdeBitmap;
00089 class IdeBitmapProxy;
00090 class IdeResourceBase;
00091 class IdeDriverLoad;
00092 class IdeVertexBuffer;
00093 class IdeSurface;
00094 class IdeRenderTexture;
00095 class IdeRenderMaterial;
00096 class IdeRenderLight;
00097 class IdeFileMemory;
00098 class IdeFilePlugin;
00099 class IdeFSReal;
00100 class IdeFSVirtual;
00101 class IdePluginTwofish;
00102 class IdePluginRijndael;
00103 class IdePluginZLib;
00104 class IdePluginSHA1;
00105 class IdeRender;
00106 class IdeCamera;
00107 class IdePlaneFrustum;
00108 class IdePortal;
00109 class IdeCollision;
00110 class IdeSceneRoom;
00111 class IdeSceneABT;
00112 class IdeSceneActor;
00113 class IdeSceneSky;
00114 class IdeSceneStaticMesh;
00115 class IdeSceneTerrain;
00116 class IdeSceneLight;
00117 class IdeWorldManager;
00118 class IdeMesh;
00119 class IdeThread;
00120 class IdeThreadLock;
00121 class IdeThreadPool;
00122 
00123 DE3D_INTERFACE_(IDestiny3DFactory)
00124 {
00125 protected:
00126     virtual ~IDestiny3DFactory() {}
00127 public:
00128     virtual void                ShutDown() = 0;
00129     
00130     // interface queries
00131     virtual long                GetIdeBitmapRscInterfaceID() = 0;
00132     virtual long                GetIdeBitmapProxyWOInterfaceID() = 0;
00133     virtual long                GetIdeAnimatedMeshRscInterfaceID() = 0;
00134     virtual long                GetIdeSurfaceWOInterfaceID() = 0;
00135     virtual long                GetIdeRenderStateWOInterfaceID() = 0;
00136     virtual long                GetIdeSceneRoomWOInterfaceID() = 0;
00137     virtual long                GetIdeSceneObjectWOInterfaceID() = 0;
00138     virtual long                GetIdeMeshWOInterfaceID() = 0;
00139 
00140     // singletons
00141     virtual IdeResourceManager* GetIdeResourceManager() = 0;
00142     virtual IdeRender*          GetIdeRender() = 0;
00143     virtual IdeSceneGraph*      GetIdeSceneGraph() = 0;
00144     virtual IdeWorldManager*    GetIdeWorldManager() = 0;
00145     virtual IdeThreadPool*      GetIdeThreadPool(u32 minThreadCount) = 0;
00146 
00147     // creators
00148     virtual Ide2DCollection*    CreateIde2DCollection() = 0;
00149     virtual IdeFont*            CreateIdeFont() = 0;
00150     virtual IdeBitmap*          CreateIdeBitmap() = 0;
00151     virtual IdeBitmap*          CreateIdeBitmapWithInfo(s32 Width, s32 Height, IdeDriver::BPP Format, deBoolean CubeMap = deFALSE) = 0;
00152     virtual IdeBitmapProxy*     CreateIdeBitmapProxy(IdeResourceBase* FromBitmap = NULL) = 0;
00153     virtual IdeMesh*            CreateIdeMesh() = 0;
00154     virtual IdeDriverLoad*      CreateIdeDriverLoad(char const * path) = 0;
00155     virtual IdeVertexBuffer*    CreateIdeVertexBuffer() = 0;
00156     virtual IdeSurface*         CreateIdeSurface() = 0;
00157     virtual IdeRenderTexture*   CreateIdeRenderTexture() = 0;
00158     virtual IdeRenderMaterial*  CreateIdeRenderMaterial() = 0;
00159     virtual IdeRenderLight*     CreateIdeRenderLight() = 0;
00160     virtual IdeFileMemory*      CreateIdeFileMemory() = 0;
00161     virtual IdeFilePlugin*      CreateIdeFilePlugin() = 0;
00162     virtual IdeFSReal*          CreateIdeFSReal() = 0;
00163     virtual IdeFSVirtual*       CreateIdeFSVirtual() = 0;
00164     virtual IdePluginTwofish*   CreateIdePluginTwofish() = 0;
00165     virtual IdePluginRijndael*  CreateIdePluginRijndael() = 0;
00166     virtual IdePluginZLib*      CreateIdePluginZLib() = 0;
00167     virtual IdePluginSHA1*      CreateIdePluginSHA1() = 0;
00168     virtual IdeCamera*          CreateIdeCamera() = 0;
00169     virtual IdePlaneFrustum*    CreateIdePlaneFrustum() = 0;
00170     virtual IdePortal*          CreateIdePortal() = 0;
00171     virtual IdeCollision*       CreateIdeCollision() = 0;
00172     virtual IdeSceneRoom*       CreateIdeSceneRoom() = 0;
00173     virtual IdeSceneABT *       CreateIdeSceneABT() = 0;
00174     virtual IdeSceneActor*      CreateIdeSceneActor() = 0;
00175     virtual IdeSceneSky *       CreateIdeSceneSky() = 0;
00176     virtual IdeSceneStaticMesh* CreateIdeSceneStaticMesh() = 0;
00177     virtual IdeSceneTerrain*    CreateIdeSceneTerrain() = 0;
00178     virtual IdeSceneLight*      CreateIdeSceneLight() = 0;
00179     virtual IdeThread*          CreateIdeThread(IdeThread::ThreadProc threadProc) = 0;
00180     virtual IdeThreadLock*      CreateIdeThreadLock(u32 spinCount = 1024) = 0;
00181 };
00182 
00183 #endif  //End DESTINY3D_HPP
00184 

Generated on Mon Sep 12 19:58:39 2005 for Destiny3D by doxygen1.3-rc3